#include "RegistroInterno.h"


// Des-serializa los datos del registro
RegistroInterno::RegistroInterno(char* dataBuffer){
	// Luego se extrae el id del nodo y su contenido
	this->_serializador.desSerializar(dataBuffer, this->_id);
	this->_serializador.desSerializar(dataBuffer, this->_referenciaHijo);
}


RegistroInterno::RegistroInterno(){
	this->_referenciaHijo =0;
}


RegistroInterno::~RegistroInterno(){
	this->_referenciaHijo =0;
}


size_t RegistroInterno::getSize(){
	// El tamaño de la referencia al hijo
	size_t tam = sizeof(unsigned long int);

	// El tamaño del id de la clase padre
	tam += sizeof(unsigned long int);

	return tam;
}


void RegistroInterno::setRefHijo(unsigned long int refHijo){
	this->_referenciaHijo = refHijo;
}


unsigned long int RegistroInterno::getRefhijo(){
	return this->_referenciaHijo;
}


// Serializa los datos del registro
void RegistroInterno::pack(char* dataBuffer){
	this->_serializador.serializar(dataBuffer, this->_id);
	this->_serializador.serializar(dataBuffer, this->_referenciaHijo);
}



